import 'package:largefriends/entity/json/json_parse_utils.dart';

import 'type_config_list_entity.dart';


class TypeConfigList {
  TypeConfigList({
    this.body,
    this.relation,
    this.drink,
    this.education,
    this.ethnicity,
    this.eyes,
    this.favoriteMusic,
    this.gender,
    this.hair,
    this.hashtags,
    this.haveChildren,
    this.height,
    this.hobby,
    this.language,
    this.marital,
    this.occupation,
    this.paymentType,
    this.personality,
    this.religion,
    this.smoke,
    this.wantChildren,
  });
  List<TypeConfigEntity>? body;
  List<TypeConfigEntity>? relation;
  List<TypeConfigEntity>? drink;
  List<TypeConfigEntity>? education;
  List<TypeConfigEntity>? ethnicity;
  List<TypeConfigEntity>? eyes;
  List<TypeConfigEntity>? favoriteMusic;
  List<TypeConfigEntity>? gender;
  List<TypeConfigEntity>? hair;
  List<TypeConfigEntity>? hashtags;
  List<TypeConfigEntity>? haveChildren;
  List<TypeConfigEntity>? height;
  List<TypeConfigEntity>? hobby;
  List<TypeConfigEntity>? language;
  List<TypeConfigEntity>? marital;
  List<TypeConfigEntity>? occupation;
  List<TypeConfigEntity>? paymentType;
  List<TypeConfigEntity>? personality;
  List<TypeConfigEntity>? religion;
  List<TypeConfigEntity>? smoke;
  List<TypeConfigEntity>? wantChildren;

  factory TypeConfigList.fromJson(Map<dynamic, dynamic> jsonRes) {
    return TypeConfigList(
      body: jsonRes.asList('body',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      relation: jsonRes.asList('relation',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      drink: jsonRes.asList('drink',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      education: jsonRes.asList('education',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      ethnicity: jsonRes.asList('ethnicity',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      eyes: jsonRes.asList('eyes',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      favoriteMusic: jsonRes.asList('favoriteMusic',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      gender: jsonRes.asList('gender',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      hair: jsonRes.asList('hair',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      hashtags: jsonRes.asList('hashtags',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      haveChildren: jsonRes.asList('haveChildren',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      height: jsonRes.asList('height',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      hobby: jsonRes.asList('hobby',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      language: jsonRes.asList('language',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      marital: jsonRes.asList('marital',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      occupation: jsonRes.asList('occupation',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      paymentType: jsonRes.asList('paymentType',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      personality: jsonRes.asList('personality',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      religion: jsonRes.asList('religion',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      smoke: jsonRes.asList('smoke',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
      wantChildren: jsonRes.asList('wantChildren',
          (json) => TypeConfigEntity.fromJson(json as Map<String, dynamic>)),
    );
  }

  Map<String, dynamic> toJson() => <String, dynamic>{
        'body': body,
        'relation': relation,
        'drink': drink,
        'education': education,
        'ethnicity': ethnicity,
        'eyes': eyes,
        'favoriteMusic': favoriteMusic,
        'gender': gender,
        'hair': hair,
        'hashtags': hashtags,
        'haveChildren': haveChildren,
        'height': height,
        'hobby': hobby,
        'paymentType': paymentType,
        'language': language,
        'marital': marital,
        'occupation': occupation,
        'personality': personality,
        'religion': religion,
        'wantChildren': wantChildren,
        'smoke': smoke,
      };
}
